#include<stdio.h>
#include<stdlib.h>
#include<stdbool.h>
#include<cstring>
#define maxsize 100
typedef char ch;
typedef struct stack
{
    /* data */
    ch data[maxsize];
    int top;
}Stack;
//初始化
Stack *InitStack(){
    Stack *s;
s=(Stack *)malloc(sizeof(Stack));
if(!s) 
    return NULL;
else{
    s->top=-1;
    return s;
}
}
//入栈
int push(Stack *s,ch x){
    if(s->top==maxsize-1)
        return 0;
    else{
        s->top++;
        s->data[s->top]=x;
    }
    return 1;
}
//出栈
ch pop(Stack *s){
    ch x;
    if(s->top==-1)
        return '0';
    else{
    x = s->data[s->top];
    s->top--;
    }
    return x;
}
bool isFull(Stack *s){
        if(s->top==maxsize-1)
        return true;
        else
        return false;
}

//判断回文
bool check(char *a,Stack *s){
    int len = strlen(a);int i,j;
    if((len&1)==1){
        for(i=0;i<len/2;i++){
            if(!isFull(s))
                push(s,a[i]);
        }
        //len为奇数跳过中间的字符
        for(i=(len/2)+1;i<len;i++){
            ch temp=pop(s);
            if(temp!=a[i])
                return false;
        }
    }else{
        for(i=0;i<len/2;i++){
            if(!isFull(s))
                push(s,a[i]);
        }
        for(i=(len/2);i<len;i++){
            ch temp=pop(s);
            if(temp!=a[i])
                return false;
        }
    }
return true;
}
int main(){
Stack *st;
st = InitStack();
ch a[maxsize];
printf("输入字符串：");
scanf("%s",&a);
if(check(a,st))
printf("Right");
else
printf("Wrong");
return 0;
}